home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / arcers / gzipsrc.zip / GZIPSRC.TAR / gzip-1.2.4 / zdiff.in < prev    next >
Text File  |  1993-08-16  |  2KB  |  71 lines

  1. :
  2. #!/bin/sh
  3. # sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
  4.  
  5. # Zcmp and zdiff are used to invoke the cmp or the  diff  pro-
  6. # gram  on compressed files.  All options specified are passed
  7. # directly to cmp or diff.  If only 1 file is specified,  then
  8. # the  files  compared  are file1 and an uncompressed file1.gz.
  9. # If two files are specified, then they are  uncompressed  (if
  10. # necessary) and fed to cmp or diff.  The exit status from cmp
  11. # or diff is preserved.
  12.  
  13. PATH="BINDIR:$PATH"; export PATH
  14. prog=`echo $0 | sed 's|.*/||'`
  15. case "$prog" in
  16.   *cmp) comp=${CMP-cmp}   ;;
  17.   *)    comp=${DIFF-diff} ;;
  18. esac
  19.  
  20. OPTIONS=
  21. FILES=
  22. for ARG
  23. do
  24.     case "$ARG" in
  25.     -*)    OPTIONS="$OPTIONS $ARG";;
  26.      *)    if test -f "$ARG"; then
  27.             FILES="$FILES $ARG"
  28.         else
  29.             echo "${prog}: $ARG not found or not a regular file"
  30.         exit 1
  31.         fi ;;
  32.     esac
  33. done
  34. if test -z "$FILES"; then
  35.     echo "Usage: $prog [${comp}_options] file [file]"
  36.     exit 1
  37. fi
  38. set $FILES
  39. if test $# -eq 1; then
  40.     FILE=`echo "$1" | sed 's/[-.][zZtga]*$//'`
  41.     gzip -cd "$1" | $comp $OPTIONS - "$FILE"
  42.     STAT="$?"
  43.  
  44. elif test $# -eq 2; then
  45.     case "$1" in
  46.         *[-.]gz* | *[-.][zZ] | *.t[ga]z)
  47.                 case "$2" in
  48.             *[-.]gz* | *[-.][zZ] | *.t[ga]z)
  49.             F=`echo "$2" | sed 's|.*/||;s|[-.][zZtga]*||'`
  50.                         gzip -cdfq "$2" > /tmp/"$F".$$
  51.                         gzip -cdfq "$1" | $comp $OPTIONS - /tmp/"$F".$$
  52.                         STAT="$?"
  53.             /bin/rm -f /tmp/"$F".$$;;
  54.  
  55.                 *)      gzip -cdfq "$1" | $comp $OPTIONS - "$2"
  56.                         STAT="$?";;
  57.                 esac;;
  58.         *)      case "$2" in
  59.             *[-.]gz* | *[-.][zZ] | *.t[ga]z)
  60.                         gzip -cdfq "$2" | $comp $OPTIONS "$1" -
  61.                         STAT="$?";;
  62.                 *)      $comp $OPTIONS "$1" "$2"
  63.                         STAT="$?";;
  64.                 esac;;
  65.     esac
  66.         exit "$STAT"
  67. else
  68.     echo "Usage: $prog [${comp}_options] file [file]"
  69.     exit 1
  70. fi
  71.